//
//  SKYInfoAcquisitionInterface.h
//  SkyonSDK
//
//  Created by 张二帅 on 2018/5/10.
//  Copyright © 2018年 Skyon. All rights reserved.
//

#import <Foundation/Foundation.h>

@class SKYPageTrackerModel;
NS_ASSUME_NONNULL_BEGIN
/**
 提交接口
 */
@interface SKYInfoAcquisitionInterface : NSObject

/**
 初次安装发送采集信息
 */
+ (void)sendFistInstallInfo;

/**
 app启动发送采集信息
 */
+ (void)sendAppLaunchInfo;

/**
 崩溃发送采集信息

 @param crashDict 崩溃信息
 */
+ (void)sendCrashInfo:(NSDictionary *)crashDict;

/**
 定期发送采集信息
 */
+ (void)sendRegularInfo;

/**
 页面加载发送采集信息

 @param pageTrackerModel 页面追踪模型
 */
+ (void)sendPageDidAppearWithPageTrackerModel:(SKYPageTrackerModel *)pageTrackerModel;

/**
 页面离开发送采集信息

 @param pageTrackerModel 页面追踪模型
 */
+ (void)sendPageDidDisappearWithPageTrackerModel:(SKYPageTrackerModel *)pageTrackerModel;

/**
 发送H5页面加载指定cookie信息

 @param check_id cookie中对应值
 @param lgn_ur cookie中对应值
 @param title web中的title
 @param urlString web访问的url
 */
+ (void)sendWebViewLoadWithCookieCheck_id:(NSString *)check_id lgn_ur:(NSString *)lgn_ur title:(NSString *)title urlString:(NSString *)urlString;

/**
 发送自定义事件采集信息

 @param event 自定义事件
 @param eventCode 事件编号
 @param eventDescribe 事件描述
 */
+ (void)sendCustomEventWithEvent:(NSString *)event eventCode:(nullable NSString *)eventCode eventDescribe:(nullable NSString *)eventDescribe;

/**
 获取网络IP

 @param completionHandler 完成回调：netIp字符串
 */
+ (void)getNetIpCompletion:(nullable void(^)(NSString * _Nullable netIp))completionHandler;

/**
 发送采集信息
 
 @param packets 数据包
 @param completionHandler 完成回调，error != nil 时，包含错误信息
 */
+ (void)sendPaskets:(NSArray *)packets completion:(nullable void(^)(NSError * _Nullable error))completionHandler;


@end
NS_ASSUME_NONNULL_END
